#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>

//int main()
//{
//	const int a = 10;
//	int* p = &a;
//	*p = 20;
//	printf("%d", a);
//	return 0;
//}



//int main()
//{
//	const int a = 10;
//	const int* p = &a;
//
//	*p = 20;//err
//
//	int b = 20;
//	p = &b;//ok
//	return 0;
//}


//int main()
//{
//	const int a = 10;
//	int* const p = &a;
//
//	*p = 20;//ok
//
//	int b = 20;
//	p = &b;//err
//	return 0;
//}


//int main()
//{
//	const int a = 10;
//	const int* const p = &a;
//
//	*p = 20;//err
//
//	int b = 20;
//	p = &b;//err
//
//	return 0;
//}


//char* my_strcpy(char* dest, char* src)
//{
//	char* ret = dest;
//	while (*src != '\0')
//	{
//		*dest = *src;
//		dest++;
//		src++;
//	}
//	*dest = *src;
//	return ret;
//}
//
//int main()
//{
//	char arr1[] = "***************";
//	char arr2[] = "abcdefg";
//	my_strcpy(arr1, arr2);
//	printf("%s", arr1);
//	return 0;
//}



//char* my_strcpy(char* dest, char* src)
//{
//	char* ret = dest;
//	while (*src != '\0')
//	{
//		*dest++ = *src++;
//	}
//	*dest = *src;
//	return ret;
//}
//
//int main()
//{
//	char arr1[] = "***************";
//	char arr2[] = "abcdefg";
//	my_strcpy(arr1, arr2);
//	printf("%s", arr1);
//	return 0;
//}



//char* my_strcpy(char* dest, char* src)
//{
//	char* ret = dest;
//	while (*dest++ = *src++)
//	{
//		;
//	}
//	return ret;
//}
//
//int main()
//{
//	char arr1[] = "***************";
//	char arr2[] = "abcdefg";
//	my_strcpy(arr1, arr2);
//	printf("%s", arr1);
//	return 0;
//}


//char* my_strcpy(char* dest, char* src)
//{
//	if (dest != NULL && src != NULL)
//	{
//		char* ret = dest;
//		while (*dest++ = *src++)
//		{
//			;
//		}
//		return ret;
//	}
//}
//
//int main()
//{
//	char arr1[] = "***************";
//	char arr2[] = "abcdefg";
//	my_strcpy(arr1, arr2);
//	printf("%s", arr1);
//	return 0;
//}


#include<assert.h>
#include<stdio.h>
char* my_strcpy(char* dest, const char* src)
{
	assert(dest != NULL);
	assert(src != NULL);

	char* ret = dest;
	while (*dest++ = *src++)
	{
		;
	}
	return ret;
}

int main()
{
	char arr1[] = "***************";
	char arr2[] = "abcdefg";
	my_strcpy(NULL, arr2);
	printf("%s", arr1);
	return 0;
}